﻿using Domain.Entitys;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Domain.Repositorys
{
	public interface IERRepositoy
	{
		//添加
		public Task<int> ERAddAsync(ER er);
		//查询
		public Task<List<ER>> ERSelectSie(int flid, int ncid, string name, DateTime time, DateTime timimo, string CheckStatus, int pageIndex, int pageSize);
		//查询总条数
		int ERSelectCount();
		//按照id查询
		public Task<ER> SelectId(int id);
		//复核修改
		public Task<int> EMRUpdateAsync(ER eR);
		//按照状态查询
		public Task<List<ER>> SelectZTId(int id, int pageIndex, int pageSize);
		//修改状态
		public Task<int> ERUpdateZTid(ER er);
		//按照状态查询
		Task<List<ER>> SelectMSZTId(int id, int pageIndex, int pageSize);
		Task<int> SelectMSZTIdCount(int id);
		//修改筛选
		Task<int> ERUpdateSXID(ER er);
		//修改审核
		Task<int> ERUpdateSX2ID(ER er);
		// 录用申请审核查询
		Task<List<ER>> SelectLYSQ(string PassCheckComment, int pageIndex, int pageSize);
		// 录用查询
		Task<List<ER>> SelectLYCX(string PassCheckComment, string PassPassComment, int pageIndex, int pageSize);
        /// <summary>
        /// 按照id查询总条数
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        int ERSelectIDCount(int id);

        /// <summary>
        /// 查询录用申请审核总条数
        /// </summary>
        /// <returns></returns>
        int ERSelectStringCount(string PassCheckComment);

        /// <summary>
        /// 查询录用查询总条数
        /// </summary>
        /// <param name="PassCheckComment"></param>
        /// <param name="PassPassComment"></param>
        /// <returns></returns>
        int ERSelectString2Count(string PassCheckComment, string PassPassComment);

        /// <summary>
        /// 按照条件查询
        /// </summary>
        /// <param name="flid"></param>
        /// <param name="ncid"></param>
        /// <param name="name"></param>
        /// <param name="time"></param>
        /// <param name="timimo"></param>
        /// <param name="CheckStatus"></param>
        /// <returns></returns>
        int ERSelectCount(int flid, int ncid, string name, DateTime time, DateTime timimo, string CheckStatus);
    }
}
